import React, { useEffect, useState } from 'react'

export default function App() {
  let [msg, setMsg] = useState('初始值')
  useEffect(() => {
    // 1，直接使用setMsg 在有闭包的时候，值不对，只能取到初始值
    // setMsg(msg + '!')
    // 使用setTimeOut来设置msg的值
    setTimeout(() => {
      setMsg((msg) => {
        return msg + '-'
      })
    }, 2000)

  }, [])
  return (
    <div>
      <p>msg: {msg}</p>
      <button onClick={() => setMsg(msg + '!')}>设置msg的值</button>
    </div>
  )
}
